import {postservice, serviceList, getmy} from '../../../utils/api/module/task';
import {upLoadFile} from '../../../utils/api/module/upload';
import config from "../../../config";

Page({
    data: {
        URL: config._URL_,
        imgs:{
            upImg01:'/assets/img/upImg01@2x.png',
            upImg02:'/assets/img/upImg02@2x.png',
            uploaded: 'https://ythapi.bjyangshu.com/public/images/shengheed.png',
            unAppointmnetImg:'/assets/img/unAppointment.png'
        },
        uploadImgs: [],
        //企业类型选择数据
        companyList: [],
        toastFlag: true,
        companyType:{id: null, name: '请选择服务类型'} ,  //服务类型

        //service_name
        service_name: '',
        //服务价格
        priceVal: '',
        //服务内容
        serviceInfo:'',
    },
    onLoad: function (options) {

    },

    onShow() {
        this.getServiceList();
        this.getMyInfo();
    },
    /**
     * 服务名称双向绑定
     * @param e
     */
    serviceNameVal(e){
        this.setData({
            service_name: e.detail.value,
        })
    },
    /**
     * 点击显示选择类型
     */
    selecteType(){
        this.setData({
            toastFlag: false,
        })
    },
    /**
     * 关闭选择类型弹窗
     */
    closeToast(e){
        console.log(e);
        console.log('未选择类型，就关闭弹窗',e.detail);
        let setObj = {
            toastFlag: true,
            companyType: e.detail.id ?e.detail:  this.data.companyType,
        }
        this.setData(setObj);
    },
    /**
     * 点击上传图片
     */
    clickChooseImage(){
        let that = this;
        this.data.urlFlag = true;
        wx.chooseImage({
            count: 1 , // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
            success: function(res) {
                let {tempFilePaths} = res;
                upLoadFile({
                    formData:{
                        "mid": wx.getStorageSync('userInfo').mid
                    },
                    filePath: tempFilePaths[0],
                },{
                    "Cookie": 'SESSION_='+wx.getStorageSync('session_id'),
                }).then(res => {
                    let data = JSON.parse(res.data);
                    let imgs = [data.data.url];
                    console.log(imgs);
                    if(data.code == 1){
                        that.setData({
                            uploadImgs: imgs
                        })
                        that.data.urlFlag = false;
                    }
                })
                // 多张图片时候递归函数上传
                // that.recurveUpload11111({
                //     mid: wx.getStorageSync('userInfo').mid,
                //     path: tempFilePaths
                // }, (path) => {
                //     console.log("回调函数");
                //     console.log(path);
                //     that.setData({
                //         uploadImgs: path
                //     })
                // })
            }
        })
    },
    /**
     * 使用递归去上床多个图片
     * @param fileName
     */
    // recurveUpload11111(data, callback){
    //     console.log(data);
    //     let that = this,
    //         i = data.i? data.i : 0,   //当前上传的哪张图片
    //         success = data.success ? data.success : 0,   //上传成功的个数
    //         fail = data.fail ? data.fail : 0;    //上传失败的个数
    //     let images = data.images ? data.images : [];
    //     wx.showLoading({
    //         title: `正在上传第${i}张`
    //     })
    //     try {
    //         upLoadFile({
    //             formData:{
    //                 "mid": wx.getStorageSync('userInfo').mid
    //             },
    //             filePath: data.path[i],
    //         },{
    //             "Cookie": 'SESSION_='+wx.getStorageSync('session_id'),
    //         }).then(res => {
    //             //data == 字符串，转换成JSON格式，方便使用里面的值。
    //             console.log(res);
    //             success++; //图片上传成功，图片上传成功的变量+1
    //             let data = JSON.parse(res.data);
    //             console.log('===========>',data.data.url);
    //             images.push(config._URL_ +'/'+data.data.url);
    //         }).catch(err => {
    //             console.log(err);
    //             fail++; //图片上传失败，图片上传失败的变量+1
    //             console.log('fail:' + i + "fail:" + fail);
    //         }).finally(()=>{
    //             console.log("失败成功都执行")
    //             i++;   //这个图片执行完上传后，开始上传下一张
    //             if (i == data.path.length) { //当图片传完时，停止调用
    //                 wx.hideLoading({
    //                     success() {
    //                         wx.showToast({
    //                             title: '上传完成',
    //                             icon: 'none',
    //                             duration: 2200
    //                         })
    //                         console.log(images);
    //                         if (typeof (callback) == "function") {
    //                             callback(images);
    //                         }
    //                     }
    //                 })
    //             } else { //若图片还没有传完，则继续调用函数
    //                 console.log(i);
    //                 data.i = i;
    //                 data.images = images;
    //                 data.success = success;
    //                 data.fail = fail;
    //                 that.recurveUpload11111(data, callback);
    //             }
    //         })
    //     }catch (e) {
    //         console.log(e);
    //     }
    // },
    /**
     * 双向绑定价格值
     * @param e
     */
    modelPriceVal(e){
        this.setData({
            priceVal: e.detail.value,
        })
    },
    /**
     * 获取到服务列表数据
     */
    getServiceList(){
        serviceList({
            type: "allchild",
        }).then(res => {
            this.setData({
                companyList: res.data.data,
            })
        })
    },
    serviceGetVal(e){
        console.log(e);
        this.setData({serviceInfo: e.detail.value })
        console.log(this.data.serviceInfo);
    },
    /**
     * 发布任务
     */
    publisinfo(){
        let {service_name, priceVal, serviceInfo,companyType, uploadImgs} = this.data;
        postservice({
            type: 0,  //状态码：0为新添加，1为修改
            mid: wx.getStorageSync('userInfo').mid, // 用户ID
            sid: '',   //服务ID，添加时，不用提交
            title: service_name, //服务名称，100字符以内
            typeid: companyType.id,  //服务类型ID
            pic: uploadImgs,   //服务图片上传路径
            price:priceVal,  //服务价格，100字符以内
            intro:serviceInfo,   //服务内容
        }, {
            Cookie: 'SESSION_='+wx.getStorageSync('session_id'),
        }).then( res => {
            if(res.data.code == 1){
                wx.showToast({title: res.data.message, icon:"none"})
                setTimeout(() => {
                    wx.navigateTo({ url: '/pages/enterprise/iPublishedTasks/index?dataType=1' })
                }, 1000);
            }else{
                wx.showToast({title: res.data.message, icon:"none"})
            }
        }).catch(error => {
            console.log(error);
        })
    },
    getMyInfo(){
        getmy({
            mid: wx.getStorageSync('userInfo').mid,
        },{
            Cookie: 'SESSION_='+wx.getStorageSync('session_id'),
        }).then(res => {
            this.setData({
                certstatus: !res.data.data ? '' : res.data.data.certstatus
            });
            // if(this.data.certstatus != 3) this.showTips();
        });
    },
    showTips: function() {
        let userData = wx.getStorageSync('userInfoData'),
            url = '/pages/enterprise/authentication/index',
            title = '需认证通过才能使用该功能',
            btnContent = '重新认证';
        if(!userData.data || !userData.data.certstatus && userData.data.certstatus != 0) {
            url = '/pages/loginAndRegister/login/index';
            title = '必须登录且认证通过才能使用该功能';
            btnContent = '去登录'
        };
        if(userData.data && userData.data.certstatus == 0) {
            url = '/pages/enterprise/authentication/index';
            title = '需认证通过才能使用该功能';
            btnContent = "去认证";
        };
        if(userData.data && userData.data.certstatus == 1) {
            url = '/pages/enterprise/authentication/index';
            title = '需认证通过才能使用该功能';
            btnContent = "去查看";
        };
        wx.showModal({
            title: '提示',
            content: title,
            cancelText: '取消',
            cancelColor: '#999999',
            confirmText: btnContent,
            confirmColor: '#3b99f5',
            success: res => {
              this.data.theRedEnvelopeSuper = false;
              if (res.confirm) {
               wx.navigateTo({
                 url: url
               })
              }
            }
        });
    },
});